

package logicBusiness;

import DAO.ConstanciaDao;
import models.Constancia;
import java.util.List;
import javax.persistence.*;
import javax.swing.JTable;
import javax.swing.table.TableColumn;

public class ConstanciaBL {


    private int ok = 0;
    ConstanciaDao constanciadao;

    public int crearConstancia( Integer documento_iddocumento,
            String nombreProf, Integer cedula, String ciudadCed, String tiempo,
            String cargo)
    {
        // find an user
        EntityManagerFactory emf =
                Persistence.createEntityManagerFactory("sischoolPU");
        EntityManager em = emf.createEntityManager();
        ConstanciaDao dao = new ConstanciaDao(em);
        em.getTransaction().begin();
        Constancia a = dao.crearConstancia(documento_iddocumento,nombreProf,
                cedula, ciudadCed, tiempo, cargo );
        em.getTransaction().commit();
        em.close(); //quitar cuando se tenga montado el serv
        emf.close();//quitar cuando se tenga montado el serv
        if (a == null) {
            ok = 0;
        } else if (a.getNombreProf().equals(nombreProf)) {
            ok = 1;
        }
        return ok;


    }


      public Integer resultado() {
        int i = 0;
        EntityManagerFactory emf =
                Persistence.createEntityManagerFactory("sischoolPU");
        EntityManager em = emf.createEntityManager();
        ConstanciaDao dao = new ConstanciaDao(em);
        return i=dao.devolverId();
    }


         public List obtenerListConstancia() {
        EntityManagerFactory emf =
        Persistence.createEntityManagerFactory("sischoolPU");
        EntityManager em = emf.createEntityManager();
        constanciadao = new ConstanciaDao(em);
        em.getTransaction().begin();

        List lista=null;               //coleccion de objetos con atributos de preinscrito
        lista=(List) constanciadao.encontrarConstancia();
        em.close(); //quitar cuando se tenga montado el serv
        emf.close();//quitar cuando se tenga montado el serv

        return lista;
    }

          public void actualizarConstancia(JTable tablaentrada){

        EntityManagerFactory emf =
        Persistence.createEntityManagerFactory("sischoolPU");
        EntityManager em = emf.createEntityManager();
        constanciadao = new ConstanciaDao(em);

        for(int iterador=0;iterador<tablaentrada.getRowCount();iterador++)
        {

            if(tablaentrada.getValueAt(iterador, 5).equals("si")||
               tablaentrada.getValueAt(iterador, 5).equals("s")||
               tablaentrada.getValueAt(iterador, 5).equals("S")||
               tablaentrada.getValueAt(iterador, 5).equals("SI"))
            {
            System.out.println((Integer) tablaentrada.getValueAt(iterador, 0));
            constanciadao.ActualizarConstancia((Integer) tablaentrada.getValueAt(iterador, 0));
               //columna 0, columna con numero de identidad

            }

        }
        em.close(); //quitar cuando se tenga montado el serv
        emf.close();//quitar cuando se tenga montado el serv
    }

    public void borrarConstancia(Integer idconstancia) {
        // find an user
        EntityManagerFactory emf =
                Persistence.createEntityManagerFactory("sischoolPU");
        EntityManager em = emf.createEntityManager();
        ConstanciaDao dao = new ConstanciaDao(em);
        em.getTransaction().begin();
        dao.borrarConstancia(idconstancia);
        em.getTransaction().commit();
        em.close(); //quitar cuando se tenga montado el serv
        emf.close();//quitar cuando se tenga montado el serv

        //return ok;

    }

    public int encontrarConstancia(Integer idconstancia) {
        // find an user
        EntityManagerFactory emf =
                Persistence.createEntityManagerFactory("sischoolPU");
        EntityManager em = emf.createEntityManager();
        ConstanciaDao dao = new ConstanciaDao(em);
        Constancia a = dao.encontrarConstancia(idconstancia);
        em.close(); //quitar cuando se tenga montado el serv
        emf.close();//quitar cuando se tenga montado el serv
        if (a == null) {
            ok = 0;
        }
//        else if (a.getIdconstancia().equals(idconstancia)) {
//            ok = a.getIdconstancia();
//        }
        return ok;

    }
    public Constancia consultarConstancia(Integer idconstancia) {
        // find an user
        EntityManagerFactory emf =
                Persistence.createEntityManagerFactory("sischoolPU");
        EntityManager em = emf.createEntityManager();
        ConstanciaDao dao = new ConstanciaDao(em);
        Constancia a = dao.encontrarConstancia(idconstancia);
        em.close(); //quitar cuando se tenga montado el serv
        emf.close();//quitar cuando se tenga montado el serv
        /*if (a == null) {
            ok = 0;
        } else if (a.getId().equals(idAula)) {
            ok = 1;
        }*/
        return a;
    }
    public int actualizarConstancia(Integer idconstancia, Integer documento_iddocumento,
            String nombreProf, Integer cedula, String ciudadCed, String tiempo, String cargo) {
        // find an user
        EntityManagerFactory emf =
                Persistence.createEntityManagerFactory("sischoolPU");
        EntityManager em = emf.createEntityManager();
        ConstanciaDao dao = new ConstanciaDao(em);
        em.getTransaction().begin();
        Constancia a = dao.actualizarConstancia(idconstancia, documento_iddocumento,
                nombreProf,cedula, ciudadCed, tiempo, cargo);
        em.getTransaction().commit();

        em.close(); //quitar cuando se tenga montado el serv
        emf.close();//quitar cuando se tenga montado el serv
        if (a == null) {
            ok = 0;
        }
//        else if (a.getIdconstancia().equals(idconstancia)) {
//            ok = 1;
//        }
        return ok;

    }

    public List<Constancia> findAll() {
        EntityManagerFactory emf =
                Persistence.createEntityManagerFactory("sischoolPU");
        EntityManager em = emf.createEntityManager();
        ConstanciaDao dao = new ConstanciaDao(em);
        List<Constancia> a = dao.findAll();
        em.close(); //quitar cuando se tenga montado el serv
        emf.close();//quitar cuando se tenga montado el serv
        /*if (a == null) {
            ok = 0;
        } else if (a.getId().equals(idAula)) {
            ok = 1;
        }*/
        return a;
    }


}
